每個task都對應一個container,所以我們可以自行指定環境(image)。
ImageSpec(
name="uv-image",
requirements="uv.lock",
registry="localhost:30000"
)
uv.lock通常為整個project的依賴包,所以有時候會包山包海,並且太肥。
因此,你也可以選擇個別指定安裝包,每個task寫一個requirement.txt。
2. requirement定義
image_a = ImageSpec(
name="ml",
python_version="3.10",
packages=["torch"],
)
image_b = ImageSpec(
name="eda",
python_version="3.9",
packages=[numpy],
)
ImageSpec(
name="eda",
apt_packages=["git", "curl"],
packages=[numpy],
platform="linux/arm64",
)